﻿using System.Collections.Generic;
using System.IO;
using Ast.Framework.Caching;

namespace Ast.Framework.FileSystems.SiteFolders
{
    public interface ISiteFolder : IVolatileProvider
    {
        IEnumerable<string> ListDirectories(string path);
        IEnumerable<string> ListFiles(string path, bool recursive);

        bool FileExists(string path);
        string ReadFile(string path);
        void CopyFileTo(string path, Stream destination);

        IVolatileToken WhenPathChanges(string path);
    }
}